package com.crm.system.service.contactManager;

import com.alibaba.fastjson.JSONObject;
import com.crm.common.model.DhPageInfo;
import com.crm.model.entity.contactManager.Contact;
import com.crm.model.entity.contactManager.ContactInformationManyPeople;
import com.crm.model.entity.contactManager.ContactInformationManyPeopleName;
import com.crm.model.qo.cluePoolManager.ClueFollowQO;
import com.crm.model.qo.contactManager.ContactInformationManyPeopleQO;
import com.crm.model.qo.contactManager.ContactQO;
import com.crm.model.vo.contactManager.*;
import com.crm.model.vo.customerManager.CustomerContactVO;
import com.crm.model.vo.customerManager.FzCustomerContactVO;
import com.crm.model.vo.systemManager.ContactImportVO;

import java.text.ParseException;
import java.util.List;

/**
 * 联系方式一机多用
 */
public interface ContactInformationManyPeopleService {

    /**
     * 联系联系方式一机多用
     *
     * @param pageIndex 页码
     * @param pageSize  分页大小
     * @param sortName  排序列名字
     * @param sortOrder 排序规则(asc/desc)
     * @param contactInformationManyPeopleQO 查询条件
     * @return
     */
    DhPageInfo<ContactInformationManyPeopleVO> contactInformationManyPeopleList(Integer pageIndex, Integer pageSize, ContactInformationManyPeopleQO contactInformationManyPeopleQO, String sortName, String sortOrder);

    /**
     * 新增联系方式人
     * @param contactInformationManyPeople
     * @return
     */
    String addContactInformationManyPeople(ContactInformationManyPeople contactInformationManyPeople);

    /**
     * 联系人名称管理信息
     * @param contactInformationManyPeopleId 联系方式一机多用id
     * @param bs 0显示未废止的  1显示全部的
     * @return
     */
    DhPageInfo<ContactInformationManyPeopleName> contactInformationManyPeopleNameList(String contactInformationManyPeopleId,String bs,Integer pageIndex, Integer pageSize);

    /**
     * 新增联系人名称
     * @param name
     * @return
     */
    String addContactInformationManyPeopleName(ContactInformationManyPeopleName name);

    /**
     * 切换联系人名称
     * @param name
     * @return
     */
    Boolean switchName(ContactInformationManyPeopleName name);

    /**
     * 废止联系人名称
     * @param name
     * @return
     */
    Boolean abolishName(ContactInformationManyPeopleName name);
}
